package com.zheng.study.base.bean;

/**
 * new File
 * ============================================================================
 * author : dzw
 * createDate:  2018/5/23 。
 * ============================================================================
 */
public class BaseEnumManager {

	/**
	 * 文档状态
	 */
	public static enum StateEnum{
		Delete("删除"),
		Enable("启用"),
		Disenable("停用"),
		History("历史");

		private final String value;

		StateEnum(String value) {
			this.value = value;
		}
		public String getValue() {
			return value;
		}
	}

	/**
	 * 流程配置的状态
	 */
	public enum ProcessState{
		Running("流转中",1),
		Backed("退回中",5),
		Finished("已归档",2),
		Deny("被否决",3),
		Destroy("被废止",6),
		Draft("草稿",4);

		private final String value;
		private final int key;

		ProcessState(final String value, final int key) {
			this.value = value;
			this.key = key;
		}
		public String value() {
			return this.value;
		}
		public int key() {
			return this.key;
		}
	}

	/**
	 * 性别
	 */
	public static enum SexEnum{
		male("男"),
		female("女");

		private final String value;

		private SexEnum(final String value) {
			this.value = value;
		}
		public String value() {
			return this.value;
		}
	}

	/**
	 * 定义账号类型，通过类型来进行匹配和查找
	 */
	public static enum AccountEnum {
		USERNAME("用户名"),
		MAIL("邮箱"),
		MOBILE("手机号"),
		UNKNOW("未知");

		private final String value;

		private AccountEnum(final String value) {
			this.value = value;
		}

		public String value() {
			return this.value;
		}
	}

	/**
	 * 账号类型
	 */
	public enum AccountTypeEnum{
		Manager("企业管理员",1),
		User("企业普通用户",2);

		private final String value;
		private final int key;

		AccountTypeEnum(final String value, final int key) {
			this.value = value;
			this.key = key;
		}
		public String value() {
			return this.value;
		}
		public int key() {
			return this.key;
		}

	}

}
